package com.zk.controller;


import com.alibaba.fastjson.JSONObject;
import com.zk.entity.MongoDBOrder;
import com.zk.entity.ResultDto;
import com.zk.service.IMongoDBService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;


@RestController
public class MongoDBController {
//    @Autowired
//    private IMongoDBService IMongoDBService;
//
//    @RequestMapping(path="/order/save",method= RequestMethod.POST)
//    @ApiOperation(value="插入订单信息", notes="{\n" +
//            "    _id:objectID,              //订单号\n" +
//            "   user_name:string,      //用户名\n" +
//            "   order_time:date,        //下单时间\n" +
//            "   order_price:double,   //下单价格\n" +
//            "   detail:[{                       //订单详情\n" +
//            "            category:string,        //类别，值为“产品”或\"设备\"\n" +
//            "            id:int/string,              //产品或设备的id\n" +
//            "            num:int,                   //购买数量\n" +
//            "            price:double,           //下单时单价\n" +
//            "   }],\n" +
//            "}")
//    public ResultDto<MongoDBOrder> saveObj(
//            @RequestBody MongoDBOrder mongoDBOrder
//    ) {
//        try {
//            if (IMongoDBService.addOrder(mongoDBOrder))
//                return new ResultDto<>(200, "插入成功");
//            else
//                return new ResultDto<>(200, "插入失败");
//        }catch (Exception e){
//            return new ResultDto<>(500, "服务器内部错误");
//        }
//    }
//
//    @ApiOperation(value="删除订单信息")
//    @RequestMapping(path="/order/del",method= RequestMethod.DELETE)
//    public ResultDto<MongoDBOrder> delObj(
//            @RequestBody String id
//    ) {
//        try {
//            if (IMongoDBService.deleteOrder(id))
//                return new ResultDto<>(200, "删除成功");
//            else
//                return new ResultDto<>(200, "删除失败");
//        }catch (Exception e){
//            return new ResultDto<>(500, "服务器内部错误");
//        }
//    }
//
//    @RequestMapping(path="/order/update",method= RequestMethod.PUT)
//    @ApiOperation(value="更新订单信息", notes="id:String  //订单id\n" +
//            "{'修改字段一':'字段一修改值',\n" +
//            " '修改字段二'：'字段二修改值'\n" +
//            "}")
//    public ResultDto<MongoDBOrder>  updateObj(
//            @RequestParam("id") String id,
//            @RequestBody JSONObject jsonParam
//    ) {
//        try {
//            if (IMongoDBService.updateOrder(id, jsonParam))
//                return new ResultDto<>(200, "更新成功");
//            else
//                return new ResultDto<>(200, "更新失败");
//        }catch (Exception e){
//            return new ResultDto<>(500, "服务器内部错误");
//        }
//    }
//
//    @ApiOperation(value="根据ID查询订单信息")
//    @RequestMapping(path="/order/findid",method= RequestMethod.GET)
//    public ResultDto<MongoDBOrder> findIdObj(
//            @RequestParam("id") String id
//    ) {
//        try {
//            return new ResultDto<>(200, "查询成功", IMongoDBService.findOrderById(id));
//        }catch (Exception e){
//            return new ResultDto<>(500, "服务器内部错误");
//        }
//    }
//
//    @ApiOperation(value="根据用户名查询订单信息")
//    @RequestMapping(path="/order/findusername",method= RequestMethod.GET)
//    public ResultDto<List<MongoDBOrder>> findUsernameObj(
//            @RequestParam("username") String username
//    ) {
//        try {
//            return new ResultDto<>(200, "查询成功", IMongoDBService.findOrderByUser(username));
//        }catch (Exception e){
//            return new ResultDto<>(500, "服务器内部错误");
//        }
//    }
}
